A conventional spread spectrum signal can be viewed as the result of mixing a narrowband information-bearing signal i[t] with an informationless wideband "spreading" signal p[t]. If B.sub.i and B.sub.p denote the bandwidths of i[t] and p[t], respectively, then the "processing gain" available to the receiver is G=B.sub.p /B.sub.i. The receiver synchronizes the incoming signal to a locally generated version p.sub.0 [t] of p[t] and mixes the received signal with p.sub.0 [t], thereby removing p[t] from the signal and "collapsing" the signal to the "information bandwidth" B.sub.i.
The spreading signal p[t] is typically a coding sequence of some kind, such as a pseudo-random code. The United States space program initially utilized a Type 1 Reed-Muller code for deep-space communications. In many code division multiple access (CDMA) systems, the code is an M-sequence which has good "noise like" properties yet is very simple to construct.
For example, in the IS-95 standard for cellular communication, the forward channel (base to mobile units) employs, as a spreading code, the product of a 64 chip Walsh code (aimed at separating up to 64 different users per base) and a periodic PN sequence (aimed at separating the different bases). Thus, the spreading signal p[t] for each user is its Walsh code combined with the current 64 chips of the PN sequence of its base station.
In order to synchronize the local version p.sub.0 [t] of the spreading signal with the original version p[t], the base station additionally transmits the current PN sequence via a pilot signal z[t] (the pilot signal z[t] is simply the current PN sequence multiplied by the all 1 Walsh code). The mobile unit then synchronizes its local code generator to the pilot signal after which the mobile unit can despread the received information bearing signals using its Walsh code and the current PN sequence.
The Walsh codes W.sub.i, I=1, . . . 64 are perfectly orthogonal to each other such that, in a non-dispersive transmission channel, there will be complete separation among the users even despite being transmitted at the same time and on the same transmission frequencies.
Practical channels, however, are time dispersive, resulting in multipath effects where the receiver picks up many echoes of the transmitted signal each having different and randomly varying delays and amplitudes. In such a scenario, the code's orthogonality is destroyed and the users are no longer separated. Consequently, a mobile unit, when attempting to detect only a single user, regards all other channel users (including signals from other base stations) as creators of interference. This contributes to a decrease in signal-to-noise ratio (SNR) and thus, reduces the reception quality of the mobile unit.
In the presence of multipath channels, the mobile units additionally process the informationless pilot signal to identify and track the multipath parameters of the channel. For this purpose, the mobile units include a channel estimator which detects and tracks the attenuation, denoted by channel "tap" h.sub.i, and the relative delay, denoted by .tau..sub.i, for each of the main paths. The mobile units then utilize the channel information in their detection operations.
One exemplary multipath detector is a rake receiver which optimally combines the different paths into a single replica of the transmitted signal. Rake receivers are described in detail e.g. in the book Digital Communications by J. G. Proakis, McGraw-Hill, Third Edition, 1995. The book is incorporated herein by reference.
A multiple-user detection scheme, such as is often used in base stations, can be viewed as interpreting the cross-talk between the signals of the users as merely a part of the multiple-input, multiple-output channel distortion. The base station accounts for this distortion during the detection process and, in general, the distortion does not translate into an SNR reduction. Therefore, it is not surprising that, with practical multipath channels, multi-user detection schemes are far superior to single-user ones.
Unfortunately, multi-user detection schemes are also significantly more complex than single-user ones. Not only does multi-user detection require (either explicitly or implicitly) processing the received signal with a bank of PN code generators (with each generator being matched to a distinct user), the outputs of this generator bank must further be processed according to some a priori criterion, such as maximum likelihood criterion, whose complexity is exponential in the number of users, or the decorrelation/minimum mean squared error (MMSE) criterion, whose complexity is quadratic in the number of users.
The article "Minimum Probability of Error for Asynchronous Gaussian Multiple-Access Channels" by S. Verdu, IEEE Transactions on Information Theory, January 1986, pp. 85-96, incorporated herein by reference, describes a multi-user detection scheme using the maximum likelihood criterion. The following articles, also incorporated herein by reference, describe multi-user schemes using the decorrelation/MMSE criterion:
L. Rusch and Poor, "MultiUser Detection Techniques for Narrowband Interference Suppression", IEEE Transactions on Communications, Vol. 43, Nos. 2-3-4, pp. 1725-1737, February-March-April 1995; PA1 R. Lupas and S. Verdu, "Linear Multiuser Detectors for Synchronous Code-Division Multiple-Access Channels", IEEE Transactions on Information Theory, Vol. 35, No. 1, January 1989, pp. 123-136; PA1 Z. Xie, R. Short and C. Rushforth, "A Family of Suboptimum Detectors for Coherent Multiuser Communications, IEEE Journal on Selected Areas In Communications, Vol. 8, No. 4, May 1990, 683-690;
Since the number of simultaneous channel users may be quite large, the computational burden associated with multi-user schemes prohibits their implementation in some applications, such as in mobile CDMA receivers.
U.S. Pat. No. 5,506,861 to Bottomley describes a plurality of methods for demodulating multiple CDMA signals which are similar to those presented in the book Digital Communications by J. G. Proakis, Chapter 15, section 15.3, but extended to the multi-path channel case. A common feature of these approaches is that they require a bank of despreaders each of which corresponds to the spreading code of a different channel user. The outputs of this bank of despreaders are then processed according to the MLSE criterion via the Viterbi algorithm or according to the decorrelation/MMSE criterion. However, a bank of despreaders is expensive in terms of complexity and power consumption. Thus, it cannot be implemented in a mobile handset. Furthermore, the Viterbi algorithm and the decorrelation/MMSE detectors are also quite complicated.
U.S. Pat. No. 5,323,418 to Ayerst describes a base station which includes an interference cancellation operation. The cancellation involves sequentially subtracting the interfering signals from the received signal in accordance with their relative power. In this manner, the effects of each user are separately removed, leaving the signal of the desired user for decoding.
U.S. Pat. No. 5,105,435 to Stilwell describes a method and apparatus for canceling user-code noise in spread-spectrum systems. Like most multi-user detection schemes, the system substantially removes the signals of the other users from the received signal, thereby producing the user signal of interest. Stilwell also indicates that, for the mobile receiver, it is enough to remove just the pilot signal out of the received signal, especially considering that the pilot signal is typically a very strong signal, significantly stronger than the user signals.
The article "Spread Spectrum Multiple Access System with Intrasystem Interference Cancellation" by Tatsuro Masamura, The Transactions of the IEICE, Vol. E71, No. 3, March 1988, pp. 224-231 describes an interference recovery circuit which includes a bank of units. Each unit contains a conventional despreader followed by a band pass filter and a respreader. The circuit filters out the interfering signal components from the desired signal and thus, attempts to reduce the overall distortion of the desired signal.
However, Stilwell, Ayerst and Masamura suggest canceling the user-code noise by despreading and respreading the received signal several times. These operations are computationally expensive and, therefore, the methods cannot be utilized in mobile units.